Lịch sử Xử_lý_theo_lô

Thuật ngữ "Batch processing" bắt nguồn từ việc phân loại truyền thống các phương pháp sản xuất là sản xuất công việc (sản xuất một lần), sản xuất theo lô (sản xuất một "lô" nhiều mặt hàng cùng một lúc, một giai đoạn) và sản xuất hàng loạt (sản xuất hàng loạt, tất cả các giai đoạn trong quá trình cùng một lúc).

Lịch sử ban đầu

Máy tính ban đầu có khả năng chỉ chạy một chương trình tại một thời điểm. Mỗi người dùng chỉ có quyền kiểm soát máy trong một khoảng thời gian theo lịch trình. Họ sẽ đến máy tính với chương trình và dữ liệu, thường là trên thẻ giấy đục lỗ và băng từ hoặc băng giấy, và sẽ tải chương trình của máy, chạy và gỡ lỗi, và lấy kết quả đầu ra khi hoàn tất.

Khi máy tính trở nên nhanh hơn, thiết lập và thời gian gỡ xuống trở thành một tỷ lệ phần trăm lớn hơn của thời gian máy tính có sẵn. Các chương trình được gọi là monitors, tiền thân của các hệ điều hành sau này, được phát triển có thể xử lý một loạt, hoặc một "lô" các chương trình, thường là từ băng từ được chuẩn bị ngoại tuyến. Màn hình sẽ được tải vào máy tính và chạy công việc đầu tiên của lô. Khi kết thúc công việc, nó sẽ lấy lại quyền kiểm soát và tải và chạy tiếp theo cho đến khi lô hoàn thành. Thông thường đầu ra của lô sẽ được ghi vào băng từ và in hoặc đục lỗ ngoại tuyến. Ví dụ về các màn hình là Hệ thống giám sát Fortran của IBM, SOS (Hệ điều hành chia sẻ) và cuối cùng là IBSYS cho các hệ thống 709x của IBM vào năm 1960.[2][3]

Hệ thống thế hệ thứ ba

Các máy tính thế hệ thứ ba có khả năng đa chương trình bắt đầu xuất hiện vào những năm 1960. Thay vì chạy một công việc hàng loạt tại một thời điểm, các hệ thống này có thể có nhiều chương trình hàng loạt chạy cùng một lúc để giữ cho hệ thống bận rộn nhất có thể. Một hoặc nhiều chương trình có thể đang chờ đầu vào, một chương trình tích cực chạy trên CPU và các chương trình khác tạo đầu ra. Thay vì đầu vào và đầu ra ngoại tuyến, các chương trình được gọi là bộ đệm đọc các công việc từ thẻ, đĩa hoặc thiết bị đầu cuối từ xa và đặt chúng vào hàng đợi công việc sẽ được chạy. Để ngăn chặn bế tắc, người lập lịch công việc cần phải biết các yêu cầu tài nguyên của từng công việc Bộ nhớ, băng từ, đĩa có thể gắn kết, v.v., vì vậy các ngôn ngữ kịch bản khác nhau đã được phát triển để cung cấp thông tin này theo cách có cấu trúc. Có lẽ nổi tiếng nhất là Ngôn ngữ kiểm soát công việc (Job Control Language) của IBM. Lập lịch công việc chọn công việc để chạy theo nhiều tiêu chí, bao gồm mức độ ưu tiên, kích thước bộ nhớ, v.v. Remote batch là một thủ tục để gửi các công việc hàng loạt từ các thiết bị đầu cuối từ xa, thường được trang bị đầu đọc thẻ đục lỗ và máy in dòng. Đôi khi, đa xử lý không đối xứng được sử dụng để lưu trữ đầu vào và đầu ra hàng loạt cho một hoặc nhiều máy tính lớn sử dụng một hệ thống nhỏ hơn và ít tốn kém hơn, như trong Attached Support Processor của IBM System/360.